package com.regulareport.common.core.domain.entity;

import com.regulareport.common.annotation.Excel;
import com.regulareport.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

/**
 * 单元格定义对象 report_cell_definition
 * 
 * @author ruoyi
 * @date 2025-09-03
 */
@Component
public class ReportCellDefinition extends BaseEntity
{

    private static final long serialVersionUID = 1L;

    /** 报表编号 */
    private String reportFormNo;

    /** 报表ID */
    private Long reportFormID;

    /** 指标编号 */
    private String indexNo;

    /** 指标名称 */
    private String indexName;

    /** 表格所在行 */
    private String cellRow;

    /** 表格所在列 */
    private String cellCol;

    /** 单元格引用 */
    private String coordinate;

    /** 指标编号所属一级列 */
    private String indexNumFirCol;

    /** 指标编号所属二级列 */
    private String indexNumSecCol;

    /** 指标编号所属一级行号 */
    private String indexNumFirRow;

    /** 指标编号所属二级行号 */
    private String indexNumSecRow;

    /** 指标名称所属一级列 */
    private String indexDesFirCol;

    /** 指标名称所属二级列  */
    private String indexDesSecCol;

    /** 指标名称所属一级行号 */
    private String indexDesFirRow;

    /** 指标名称所属二级行号 */
    private String indexDesSecRow;

    /** 币种 */
    private String currency;

    /** 金额单位 */
    private String monetaryUnit;

    /** 小数点位数 */
    private String decimalPlaces;

    /** 容差值 */
    private String tolerance;

    /** 指标说明 */
    private String indexExplain;

    /** 合计项公式 */
    private String formula;

    /** 是否可编辑 */
    private boolean editable;

    /** 日期版本 */
    private String edition;

    /** 数据类型 */
    private String dataType;

    public void setReportFormNo(String reportFormNo) 
    {
        this.reportFormNo = reportFormNo;
    }

    public String getReportFormNo() 
    {
        return reportFormNo;
    }

    public Long getReportFormID() {
        return reportFormID;
    }

    public void setReportFormID(Long reportFormID) {
        this.reportFormID = reportFormID;
    }

    public void setIndexNo(String indexNo)
    {
        this.indexNo = indexNo;
    }

    public String getIndexNo() 
    {
        return indexNo;
    }

    public void setIndexName(String indexName) 
    {
        this.indexName = indexName;
    }

    public String getIndexName() 
    {
        return indexName;
    }

    public String getCellRow() {
        return cellRow;
    }

    public void setCellRow(String cellRow) {
        this.cellRow = cellRow;
    }

    public String getCellCol() {
        return cellCol;
    }

    public void setCellCol(String cellCol) {
        this.cellCol = cellCol;
    }

    public String getCoordinate() {
        return coordinate;
    }

    public void setCoordinate(String coordinate) {
        this.coordinate = coordinate;
    }

    public void setIndexNumFirCol(String indexNumFirCol)
    {
        this.indexNumFirCol = indexNumFirCol;
    }

    public String getIndexNumFirCol() 
    {
        return indexNumFirCol;
    }

    public void setIndexNumSecCol(String indexNumSecCol) 
    {
        this.indexNumSecCol = indexNumSecCol;
    }

    public String getIndexNumSecCol() 
    {
        return indexNumSecCol;
    }

    public void setIndexNumFirRow(String indexNumFirRow) 
    {
        this.indexNumFirRow = indexNumFirRow;
    }

    public String getIndexNumFirRow() 
    {
        return indexNumFirRow;
    }

    public void setIndexNumSecRow(String indexNumSecRow) 
    {
        this.indexNumSecRow = indexNumSecRow;
    }

    public String getIndexNumSecRow() 
    {
        return indexNumSecRow;
    }

    public void setIndexDesFirCol(String indexDesFirCol) 
    {
        this.indexDesFirCol = indexDesFirCol;
    }

    public String getIndexDesFirCol() 
    {
        return indexDesFirCol;
    }

    public void setIndexDesSecCol(String indexDesSecCol) 
    {
        this.indexDesSecCol = indexDesSecCol;
    }

    public String getIndexDesSecCol() 
    {
        return indexDesSecCol;
    }

    public void setIndexDesFirRow(String indexDesFirRow) 
    {
        this.indexDesFirRow = indexDesFirRow;
    }

    public String getIndexDesFirRow() 
    {
        return indexDesFirRow;
    }

    public void setIndexDesSecRow(String indexDesSecRow) 
    {
        this.indexDesSecRow = indexDesSecRow;
    }

    public String getIndexDesSecRow() 
    {
        return indexDesSecRow;
    }

    public void setCurrency(String currency) 
    {
        this.currency = currency;
    }

    public String getCurrency() 
    {
        return currency;
    }

    public void setMonetaryUnit(String monetaryUnit) 
    {
        this.monetaryUnit = monetaryUnit;
    }

    public String getMonetaryUnit() 
    {
        return monetaryUnit;
    }

    public void setDecimalPlaces(String decimalPlaces) 
    {
        this.decimalPlaces = decimalPlaces;
    }

    public String getDecimalPlaces() 
    {
        return decimalPlaces;
    }

    public void setTolerance(String tolerance) 
    {
        this.tolerance = tolerance;
    }

    public String getTolerance() 
    {
        return tolerance;
    }

    public void setIndexExplain(String indexExplain) 
    {
        this.indexExplain = indexExplain;
    }

    public String getIndexExplain() 
    {
        return indexExplain;
    }

    public void setFormula(String formula) 
    {
        this.formula = formula;
    }

    public String getFormula() 
    {
        return formula;
    }

    public void setEdition(String edition)
    {
        this.edition = edition;
    }

    public String getEdition() 
    {
        return edition;
    }

    public boolean isEditable() {
        return editable;
    }

    public void setEditable(boolean editable) {
        this.editable = editable;
    }

    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("reportFormNo", getReportFormNo())
            .append("reportFormId", getReportFormID())
            .append("indexNo", getIndexNo())
            .append("indexName", getIndexName())
            .append("cellRow", getCellRow())
            .append("cellCol", getCellCol())
            .append("indexNumFirCol", getIndexNumFirCol())
            .append("indexNumSecCol", getIndexNumSecCol())
            .append("indexNumFirRow", getIndexNumFirRow())
            .append("indexNumSecRow", getIndexNumSecRow())
            .append("indexDesFirCol", getIndexDesFirCol())
            .append("indexDesSecCol", getIndexDesSecCol())
            .append("indexDesFirRow", getIndexDesFirRow())
            .append("indexDesSecRow", getIndexDesSecRow())
            .append("currency", getCurrency())
            .append("monetaryUnit", getMonetaryUnit())
            .append("decimalPlaces", getDecimalPlaces())
            .append("tolerance", getTolerance())
            .append("indexExplain", getIndexExplain())
            .append("formula", getFormula())
            .append("editable", isEditable())
            .append("edition", getEdition())
            .append("dataType", getDataType())
            .toString();
    }
}
